import { App } from 'vue';
import { IBizActionToolbar } from './action-toolbar/action-toolbar';
import { IBizCol } from './col/col';
import { IBizIcon } from './icon/icon';
import { IBizRouterView } from './router-view/router-view';
import { IBizRow } from './row/row';
import { IBizControlBase } from './control-base/control-base';
import { IBizControlShell } from './control-shell/control-shell';
import { IBizViewShell } from './view-shell/view-shell';
import { IBizRawItem } from './rawitem/rawitem';
import { IBizCodeList } from './code-list/code-list';
import { IBizNoData } from './no-data/no-data';

export * from './icon/icon';
export * from './router-view/router-view';
export * from './col/col';
export * from './row/row';
export * from './action-toolbar/action-toolbar';
export * from './control-base/control-base';
export * from './control-shell/control-shell';
export * from './view-shell/view-shell';
export * from './rawitem/rawitem';
export * from './code-list/code-list';
export * from './code-list/code-list';
export * from './control-loading-placeholder/control-loading-placeholder';

export const IBizCommonComponents = {
  install: (v: App): void => {
    v.component(IBizControlBase.name, IBizControlBase);
    v.component(IBizIcon.name, IBizIcon);
    v.component(IBizRow.name, IBizRow);
    v.component(IBizCol.name, IBizCol);
    v.component(IBizRouterView.name, IBizRouterView);
    v.component(IBizActionToolbar.name, IBizActionToolbar);
    v.component(IBizViewShell.name, IBizViewShell);
    v.component(IBizControlShell.name, IBizControlShell);
    v.component(IBizRawItem.name, IBizRawItem);
    v.component(IBizCodeList.name, IBizCodeList);
    v.component(IBizNoData.name, IBizNoData);
  },
};

export default IBizCommonComponents;
